package com.smart.modules.genealogy.service;

import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.smart.modules.genealogy.domain.PersonEvent;
import com.smart.modules.genealogy.vo.PersonEventVo;
import com.smart.modules.genealogy.vo.PersonRelationshipVo;

/**
 * 人员事件Service接口
 */
public interface IPersonEventService
{
    /**
     * 查询人员事件
     *
     * @param personId 人员事件主键
     * @return 人员事件
     */
    public PersonEvent selectPersonEventByPersonId(Long personId);

    /**
     * 查询人员事件列表
     *
     * @param personEvent 人员事件
     * @return 人员事件集合
     */
    public IPage<PersonEvent> selectPersonEventList(IPage<PersonEvent> page,PersonEvent personEvent);

    /**
     * 新增人员事件
     *
     * @param personEvent 人员事件
     * @return 结果
     */
    public int insertPersonEvent(PersonEvent personEvent);

    /**
     * 修改人员事件
     *
     * @param personEvent 人员事件
     * @return 结果
     */
    public int updatePersonEvent(PersonEvent personEvent);

    /**
     * 批量删除人员事件
     *
     * @param personIds 需要删除的人员事件主键集合
     * @return 结果
     */
    public int deletePersonEventByPersonIds(Long[] personIds);

    /**
     * 删除人员事件信息
     *
     * @param personId 人员事件主键
     * @return 结果
     */
    public int deletePersonEventByPersonId(Long personId);

    List<PersonEventVo>  getPersonDetail(Long personId);

    List<PersonRelationshipVo> getPersonRelationship(Long personId);

}
